/**
 * 资产模块API
 */
import { get, post, put, del } from '../request'

// API前缀
const API_PREFIX = '/asset'

/**
 * 获取资产列表
 * @param {Object} params 查询参数
 * @returns {Promise} 请求Promise
 */
export function getAssetList(params) {
  return get(`${API_PREFIX}/list`, params)
}

/**
 * 获取资产详情
 * @param {string} id 资产ID
 * @returns {Promise} 请求Promise
 */
export function getAssetDetail(id) {
  return get(`${API_PREFIX}/detail/${id}`)
}

/**
 * 申请资产领用
 * @param {Object} data 领用申请数据
 * @returns {Promise} 请求Promise
 */
export function applyAsset(data) {
  return post(`${API_PREFIX}/apply`, data)
}

/**
 * 申请资产维修
 * @param {Object} data 维修申请数据
 * @returns {Promise} 请求Promise
 */
export function repairAsset(data) {
  return post(`${API_PREFIX}/repair`, data)
}

/**
 * 申请资产处置
 * @param {Object} data 处置申请数据
 * @returns {Promise} 请求Promise
 */
export function disposeAsset(data) {
  return post(`${API_PREFIX}/dispose`, data)
}

/**
 * 资产调拨
 * @param {Object} data 调拨数据
 * @returns {Promise} 请求Promise
 */
export function transferAsset(data) {
  return post(`${API_PREFIX}/transfer`, data)
}

/**
 * 资产盘点
 * @param {Object} data 盘点数据
 * @returns {Promise} 请求Promise
 */
export function checkAsset(data) {
  return post(`${API_PREFIX}/check`, data)
}

/**
 * 获取资产类别
 * @returns {Promise} 请求Promise
 */
export function getAssetCategories() {
  return get(`${API_PREFIX}/categories`)
}

/**
 * 更新资产状态
 * @param {string} id 资产ID
 * @param {Object} data 状态数据
 * @returns {Promise} 请求Promise
 */
export function updateAssetStatus(id, data) {
  return put(`${API_PREFIX}/status/${id}`, data)
}

export default {
  getAssetList,
  getAssetDetail,
  applyAsset,
  repairAsset,
  disposeAsset,
  transferAsset,
  checkAsset,
  getAssetCategories,
  updateAssetStatus
} 